#include <iostream>
#include <vector>
using std::endl;
using std::cout;
using std::vector;

void test()
{
    //1 无参对象
    // vector<int> number;
    // vector<int>number();  这是一个函数声明，函数的返回值为vector<int> 是一个坑
    //2 count个value 包含两种形式
    // vector<int> number(10);
    // vector<int> number(10, 3);
    //3 使用迭代器范围
    // int a[] = {3,4,5,6,7,10,3,76};
    // vector<int>number(a, a+8); // [) 左闭右开
    //4 拷贝或者移动构造
    //5 大括号,可以不写括号
    vector<int>number{3,4,5,6,7,10,3,76};
    // 遍历
    //1 初始化的迭代器
    vector<int>::iterator it1 = number.begin();
    for(; it1 != number.end(); ++it1)
    {
        cout << *it1 << " ";
    }
    cout << endl;
    //2 未初始化的迭代器
    vector<int>::iterator it;
    for(it = number.begin(); it != number.end(); ++it)
    {
        cout << *it << " ";
    }
    cout << endl;
    //3 for与 auto的写法
    for(auto &elem : number)
    {
        cout << elem << " ";
    }
    cout << endl;
    // 下标遍历
    for(size_t idx = 0; idx < number.size(); ++idx)
    {
        cout << number[idx] << " ";
    }
    cout << endl;
}

int main()
{
    test();
    return 0;
}
